package com.uatair.common.mqtt.domain;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.List;

@Data
public class DroneResponse {// 定义响应数据结构
        String droneId;
        String droneType;
        String droneModel;
        String factoryCode;
        Osd osd;
        List<Sortie> sortieList;

    @Data
    public static class Osd {
        @SerializedName("@class")
        String className;
        @SerializedName("order_id")
        String orderId;
        long timestamp;
        double longitude;
        double latitude;
        double height;
        double altitude;
        double vs;
        double gs;
        double heading;
        double pitch;
        double roll;
        String mode;
        int flying;
        @SerializedName("fly_time")
        int flyTime;
        @SerializedName("fly_distance")
        double flyDistance;
        @SerializedName("home_set")
        int homeSet;
        @SerializedName("home_distance")
        double homeDistance;
        @SerializedName("home_location")
        HomeLocation homeLocation;
    }

    @Data
    public static class HomeLocation {
        @SerializedName("@class")
        String className;
        double latitude;
        double longitude;
        double altitude;
    }

    @Data
    public static class Sortie {
        @SerializedName("createBy")
        String createBy;
        @SerializedName("createTime")
        String createTime;
        String updateBy;
        String updateTime;
        String remark;
        @SerializedName("sortieNo")
        String sortieNo;
        String jobNos;
        String teamId;
        String teamName;
        int userId;
        String username;
        String nickname;
        int bossId;
        String sn;
        String uavName;
        String acreId;
        String acreName;
        String geoJson;
        int flightDistance;
        int flightTime;
        String flightMode;
        String flightModes;
        String optMode;
        double dosage;
        double dosageOfKg;
        int size;
        String usageOfAcre;
        String zeroWork;
        @SerializedName("startTime")
        String startTime;
        @SerializedName("endTime")
        String endTime;
        String routeMode;
        String positionInfo;
        String positionSource;
        String flightSpeed;
        String flightHeight;
        String lineSpacing;
        String sprayAmplitude;
        String uavDataPath;
    }
}
